package com.itheima.a12deadlock;

public class MyThread extends Thread {

    static final Object objA = new Object();
    static final Object objB = new Object();

    public void run() {
        //1.循环
        while (true) {
            if ("线程A".equals(getName())) {
                synchronized (objA) {
                    //此时A锁关闭        -->如果此时调度到了B线程
                    System.out.println("线程A拿到了A锁 ， 准备拿B锁");
                    synchronized (objB) {   //B锁关闭 拿不了
                        System.out.println("线程A拿到了B锁 ，顺利执行完一轮");
                    }
                }
            }

            if ("线程B".equals(getName())) {
                synchronized (objB) {
                    //B锁关闭
                    System.out.println("线程B拿到了B锁 ， 准备拿A锁");
                    synchronized (objA) {   //A锁关闭 拿不了
                        System.out.println("线程B拿到了A锁 ，顺利执行完一轮");
                    }
                }
            }
        }
    }
}
